Copyright 1987 by Borland International and MCU, Inc.
All rights reserved.
Transcript of the conference held 6/5/87 in the CompuServe
Convention Center sponsored by MAUG(tm) and Borland International
on "Exploring Mac Turbo Pascal"
(Neil/SYSOP) We have online with us representatives from Borland to help...
us all in uncerstanding how to use Turbo Pascal for.....
the Macintosh! We will also, I HOPE, have Jim Friedlander from
Apple later and David Ushijima from MacWorld. Right now we have...
Philippe Kahn, David Intersimone, Anders Heijlsberg and
Larry Kraft from Borland!
First I want to turn it over to Philippe Kahn for any....
opening remarks and then for any opening remarks from any...
other panel member!
Philippe, want to start off with a comment or two? Go ahead!
(Philippe Kahn) OK, thanks, I'm pretty happy to be there
in such great company.
As we said many times we have an total on-going
commitment to the Mac Intosh.
Our company is known for beeing the industry leader
in compiler technology, and
we are working real hard in bringing all
of this cutting edge technology to the Mac. It's very
exciting to us, as the Mac is the symbol of
innovation. A machine that's so
advanced, it's easy to use. So I think
that we are going to have a great conference. Let's
just go for it!
(David I(Borland)) Let's have fun, ask us questions, give us suggestions. We are
hard at work on many things. Our compiler developer, Anders
Heilsberg is here.
It is a very exciting time, the Mac II is now shipping, we have
the new machines and are hard at work.
It's been real fun working with developers and APple.
(Neil/SYSOP) Larry Kraft tells me that they took a couple questions in advance...
over on the Borland Forums. So I am going to turn it over to...
Joe who Larry says has those questions. Joe, please keep them brief though.
(Joe S(Borland)) What are main differences between Turbo Pascal and...
MPW Pascal?
(David I(Borland)) Turbo Pascal is very similar to MPW Pascal, we support separate
compilation via units.
We support the entire mac toolbox. Of course we are much faster.
Out units are binary copies, MPW units are sort of like include
files. We don't support LEAVE,CYCLE, segments in a unit.
(Joe S(Borland)) Is it possible to enhance Turbo Pascal's File I/O by using File
Manager calls with Turbo File variables? ga
(Anders H(Borland)) Yes, the Mac File System handle is stored in the Pascal file variable.
In fact, the layout of the file variable record is shown in the manual.
Just pick up the handle, and pass it to the Mac IO System.
(Joe S(Borland)) I set the $D+ directive but I still can't see procedure
labels with TMON? oga
(Anders H(Borland)) I take it this occurs when you run a program in memory. TMON (and others)
look for CODE resources to figure out which parts of memory are code,
but when we run in memory, the code is not really resources, but rather
just handles with code in them. TMON doesn't know this, so it can't
find the code labels.
(Neil/SYSOP) Joe, we will get back to the advance questions later on but...
I see we have some questions in the queue so let's take them now as...
we are almost a half hour gone...
With that let me take the first question from our online audience
(Clark Kent) I mentioned several suggested improvements and bug fixes over the past
few months. The most critical one is what is planned regarding
improving the ability of TP to run on the MAC 2. Any hints? Will
TP use the coprocessor with the SANE or with some other (preferable)
environment?
(David I(Borland)) We now have the interface unit source code form Apple for the new
macintosh roms. We also have a patched version of Turbo Pascal that
gets around a bug in the Apple ROMs. As soon as we've finished integrating
the new interface code, we will have a version that fixes some bugs, gives
access to the new rom and system routines, and runs on the Mac II.
Right now access to the 68881 will be through SANE. You can do
inline floating point instructions. We are looking at more
support for direct hardware in future versions of the compiler.
(cheryl peterson OLT) Do you plan to support objects in Turbo? If so, when? At extra cost?
(David I(Borland)) We are looking into Objects for Pascal. DO you really want
it for development or just for MacApp? It is on the list
but other things are more important - we think.
(cheryl peterson OLT) To develop modules to be used in MacApp. (grin)
(Louis Kahn) I would like to know if there is a better program out there to use to create Resources,
than RMaker? I have had troubles with it.
(Anders H(Borland)) ResEdit is nice! It allows you to create and modify almost any resource
type interactively. There is a shareware desk acc called ResPeek that
decompiles resources quickly and easily.
(David I(Borland)) ResPeek is available fvia download from MacDev forum. ga.
(Neil/SYSOP) A plug!! Thanks! <grin>
(Louis Kahn) Does that help with Menu creation?
That is my problem with Rmaker.
(Anders H(Borland)) Yes, you can do it interactively. ga
(DTS) Hi there, we are from Developer Technical Support. Jim F. couldn't make it,
so he asked us to take his place. I'm Bo3b Johnson, and we have Scott Zimmerman here too.
Just for accuracy,the MPW pascal has a $Load feature that allows you to have
precompiled units, making the compile very fast. (not as fast as Turbo, though).
The big win in turbo is the speed at which it links (MPW linker is way slower)
and the launch speed. Turnaround is thus much faster.
There are some other subtle differences in the languages, like not being able
to type coerce in the middle of expressions and so on, but overall they are
very compatible.
(John Link) Does TP generate native code or P code?
(Anders H(Borland)) It generates native code. ga
(Karl Armstrong) will you be releasing toolboxes (like IBM TP) ? If so when?
(David I(Borland)) We're thinking - PK is getting to a machine
(Philippe) Well, should I say that we don't comment on un-announced
products?
(Neil/SYSOP) Nah! People will think you are Jean-Louis!
(Philippe) Or should I just say that we have a consistent language
strategy, and that it includes
providing complete solutions to our users. I guess, that
our users will have a feww nice surprises through the year.
But as we all know, good software takes time, and vaporware
doesn't help users, and I've been already talking
too much, our PR manager is unplugging
my keyboard, help!!!!!!!!!!!!!!
(Mike Babulic) I'd like Objects too (& MacAPP) ... but I'd also like .REL or Assembler output
& a compiler switch that turns string constants a into STR# resource.
(STR# switch would save a lot of "housekeeping for lazy folks like me). ga
(David I(Borland)) We are considering the object support. Giving off REL files
are too slow for our compiler. You can look at the code we
generate with any debugger or MacNosy. Why do you
need rel files? to link with other languages? We link in
REL files via the $L directive.
We are a compiler, not a Compiler/Rmaker. You want extensions
to the directives so we build complete resource files right
in without the RMAKER, REZ step. It is not in the plan now,
but I'll put it on the list for consideration. ga
(cheryl peterson OLT) Now that Commodore has shot themselves in the foot again, does Borland still
plan to come up with an Amiga Turbo Pascal? ga
(David I(Borland)) Welllllllllllll..... Right now we are working on IBM PC and
Mac versions of the compiler. ga
(macworld) I see BorlanI see Borland as being in a very interesting
position in that they have a professional programming
environment in both the DOS and the Mac worlds. Will
they use this power to make PC apps more mac-like? ga
(David I(Borland)) As we move into the next operating system on the IBM PC with
multitasking and a graphics presentation environment we will
all see a cross fertilization of software development. What
was happening in the past was that PC programmers went to
the mac beacuse they could get the user interfaces and the
support they needed in the toolbox routines.
Our PC products already have pull down menus and windows in
text and graphics modes. So the answer is a definite YES.ga
(Dennis Cohen) There are a number of subtle differences between the Pascal compilers for
the Mac that make me use all of them; the ones I would most like to see added
to TP are: smart linker, source-level debugging, segmentation in units.
The order of the above are reversed. What are my prospects of being happy
and using TP even more than I do now?
(David I(Borland)) THose are the three suggestions that are at the top of the list.
We are hard at work here - except now where we are typing and
eating pizza. but the other times we are working not sleeping.
You won't be dissappoiinted.
(Neil/SYSOP) Anchovies, I hope?
(David I(Borland)) This is santa cruz, it is all vegetarian and healthy. I just
wanted to mention to everyone that Anders Heilsberg who is
online here is here from our Denmark office. He is the author
of all versions of Turbo Pascal, CPM, DOS, and Mac. A great
accomplishment in a 40k fast compiler. He is a great guy. ga
(Neil/SYSOP) (West Coast pizza -- ick!)
(L. Kahn (Kahn Enter) Will turbo pascal work with softguard protection systems. ie: will my
mac app work after I load the copy protection system?
(David I(Borland)) Well, we don't like copy protection. It isn't a word in our
Turbo Lightning dictionary. But we don't do anything crazy or
special that would cause the protection scheme to have troubles.
I asked anders, and his translator couldn't handle Copy
protection - grin. He speaks wonderful english.
<The transcripter pressed the wrong macro here, and lost a few lines of text>
(Clark Kent) short circuit boolean expressions. functions which can return
types other than simple types (toolbox types cell, rect etc.)
better program examples. Are any of these being considered?
(Anders H(Borland)) Yes, they are being considered.
(Neil/SYSOP) Anders that did not come across... Did you have an answer?
(David I(Borland)) Anders, answered, yes they are being ocnsidered. Thanks for the
suggestions, Clark. It is great to be able to talk to users and
developers. In fact, I will be at MacHack in Ann Arbor to talk
to Mac hackers about what they want. Philippe will be at the
MacWorld technical conference next week in san francisco for
just the same reason. We love to hear from people and try to
respond with enhancements to the product. Thanks again. GA
(Karl Armstrong) Any comment on a possible VIP translator ?
I am refering to the one from the VIP people.
(Philippe Kahn) Well, the question was whether VIP will generate
TP code. And the answer is:.......
.............
.............
.....................
It's out of our control, but Mainstay says
that they are doing it!. Please go and
ask your friendly Apple dealer for a copy
of that beautiful product (once it
generates TP source of course!)
Good enough?
(Karl Armstrong) YES , THANKS
(Mike Babulic) Sorry to be such a pest Davisd I. but in answer to your question,
the reason I wanted .REL file output was so I could
import the neat things I develop (so quickly) in TURBO, to the other languages
I'm forced to use from time to time (like C - bleach!). I'ts nice to be able to
use the same libraries in every environment.
BTW -- ANDERS -- the beer in Denmark is wonderful. ga
(Anders H(Borland)) That's why I drink so much of it!
(Mike Babulic) XMas beer? or Elephant beer?
(Philippe Kahn) BTW, he's not as fat as I am although
he drinks a lot of Danish beer. Why is
life so unfair? Jim Baker, do you
have an answer for me???
(David I(Borland)) It isn't in the current plans to give off REL files, but We'll
look into it. Glad you like the compiler. But I usually stick
to Pascal. C is a write only language full of minefields. ga
(Anders H(Borland)) Continuing on my favourite topic: No i drink Green Tuborg or Carlsberg's
Black Gold. ga
(Neil/SYSOP) Well, let's froth onward....
(Dennis Cohen) I would like to chime in for Bo3b and the others at DTS (and as
someone who argued long and loud to get my
employer to drop copy protection that the surest way
that I have found to make any program on the Mac incompatible with
a new System or new hardware is to use copy-protection such
as that provided by Softguard (which we used to use).
This is in response to a question raised earlier that I could nt let pass. ga
(David I(Borland)) We agree here with your view. While I have a moment I
would like to thank the employees at Apple, especially
tech support that have helped us get Turbo Mac out.
I've heard that many of the guys at DTS love Turbo.
Everyone out there should see the compilation speed on
A MAC II - just don't blink. ga
(Dennis Cohen) It's even faster on a Prodigy.
(L. Kahn (Kahn Enter) Why wasn't Borland at Comdex, and will you be there in Los Vegas?
also
Just to protect myself, if I don't copy protect, will my software be safe?
(David I(Borland)) If you copy protect your software it will be very safe,
because nobody will buy it. Copy protection is a pain.
It penalizes the good users, and the bad guys will
break the copy protection anyway. Don't do it!!!
Please!!!
We will be at Comdex Las Vegas (Lost Wages - I lost my wallet)
last year.
(L. Kahn (Kahn Enter) I think will leave
out copy protection if you feel that strong about it
(George Wong) I'm planning a programming project with some others...and they prefer to use LightSpeed C. What's the best way for use to work it
out? It would be nice if we could share compiled code.. or should we wait for some
unannounced product?... (maybe Turbo C for the mac)
(Anders H(Borland)) It's hard to share code with LS, since we do not use the same
link/unit/module formats. You can do tricks (such as moving around
code resources) but it is really a bad solution.
(David I(Borland)) I would never wait for an unnanounced product.
If you have work to do chose the best tool for the job.
Turbo Pascal is the best tool.
(Matthew) I have heard that there is a new version of Turbo Pascal
coming out soon (within the next quarter). Is that true?
(David I(Borland)) OK, I did mention earlier that we are going to put
out a version that supports the new rom routines in
the mac II with the code I got from Apple Licensing.
It will also contain a patch to get around a bug in
the MAC II roms where the color window manager info
is not saved. We will let users know about the version
when it is available. It should be within the next
two months.
Beyond that we are working on a lot of stuff in the
Turbo Mac compiler, but as they say "We will sell no
software before its time."
(Neil/SYSOP) Joe still has some advance questions to ask...
(Joe S(Borland)) I am used to typed constants (pre-initialized variables) on IBM Turbo. I have two basic questions: 1) What prevents the implementation of
the StuffHex procedure to init. my structures. Could you go into how this is done?...
(Anders H(Borland)) First of all, typed constants require support of initialized data
by the linker and the Mac. Usually, on the Mac, initialized data is in
resources - these are handles that float around in the heap, which
cannot be referred to in the same way as variables.
We are looking into a solution for the next version.
The StuffHex procedure is useful for initializing arrays of simple types,
where you can directly figure out the hex values. It doesn't
work very well with reals and structures.
(L. Kahn (Kahn Enter) Will the Pas Interfaces that I received from APDA with my IM 5 work with
TP ok? I haven't tried it yet? (I have the Alpha Version, I don't know if
a later one exists yet? Date 03/10/87)
(David I(Borland)) I got a beta-1 version. I'm going to do it here. YOu have to change several things
in the interface units for Turbo Compatibility.
Reasons:
we put the external definitions in the interface section.
MPW pascal puts them in the implementation section.
SO you could do it yourself after making the mods and
then use the Unit Mover to put them into the
compiler or reference them from external unit
libraries. Go Ahead DTS!!!!
(DTS) Well, we had these Mac IIs for awhile before announcement,
withoutwithout waiting all of our lifes to compile.
So we used the turbo pascal to compile a color QD unit that we used
UnitMover to put into the program itself. voila,
a development system foir color quickdraw. Worked great.!
(David I(Borland)) That will work well for the public interfaces that
have inline trap calls. FOr the routines that need
assembly language glue code, you would have to
convert the MPW assembler source code to MDS
assembler source code and reassemble. But you can
go ahead and work with the MPW alpha and beta
pascal interface libraries for color quickdraw and
several other interface routines. ga
(DTS) right. For most things the simple MPW interfaces work out ok. For the
Not in Rom routines, you have to use Inline assembly or the MDS conversion
route. Not too bad though. ga
(L. Kahn (Kahn Enter) I am confuses....
Can I use the Interface without mods. or not?
(David I(Borland)) just move the inline code from the procedure
declaration in the implementation section and
put it in the procedure delcaration in the
interface section of a unit. That is the only
change for procedures and functions that use
inline trap calls and inline assembler. ga
(L. Kahn (Kahn Enter) Thanks will do.
(Leo Kuhn) I am new in here, and i just like to know
wether turbopascal is running on the Mac II
(David I(Borland)) It is running on my mac II here at Borland and at
Apple computer with a patch that we came up with
for a bug in the Mac ROMs. This patch will be part
of the next version of Turbo that includes the new
interface units that I got from Apple.
While I have the floor, I want to mention that
in our SIG (GO BORPRO) in the Turbo Mac
library, there is a packit III file called CODEF.PIT
that allows programmers to define and use their
own code definitions, LDEFs, WDEFs, desk accessory
headers, etc. Also there is an IBM compatibility
unit so if you a re converting IBM code. It is
called COMPAT.INC in Data Library 5.
(LKraft) Awrite, David. 'bout time BorPro got a plug!
(Leo Kuhn) any idea about upgrade policy ?
(David I(Borland)) Don't know specifics because we haven't figured it out.
But in the past our upgrades of this kind were "almost
free". We will keep you informed via compuserve on
our BORPRO SIG and all the mac sigs. ga
(DTS) First off, thanks for Turbo Pascal. It is wonderful for the type of
things that we do here, test programs, verification of bugs,
general funprogramming.
Second,
has a lot of stuff about compatibility. Copy protection.
is bad in that respect.
(anders h(borland)) Thanks guys! I really enjoy working with the Mac - it's hard when
I am back on the PC. The Mac is so much cleaner and so much more
powerful (fun). Also, thank's for all your help in making Mac Turbo
possible. ga
(Neil/SYSOP) OK!!!!
In closing....
I'd just like to thank everyone here on behalf of the whole...
online community. Not only for making such fine products and offering...
the usual fine support... But for coming online here to reach out...
to users in a very direct way. Philippe, David and everyone, thanks
again!
<And the conference ended, to thunderous applause>